From f66060c422decddb13f623ed0f4716e6b0925796 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 30 Oct 2014 20:00:45 +0100 Subject: [PATCH] GdkGLArea: fix has_alpha changes at runtime We need to completely reallocate the buffers if we switch has_alpha, because we may switch from render buffers to texture. --- gtk/gtkglarea.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gtk/gtkglarea.c b/gtk/gtkglarea.c index 0c8788a1d5..c7583d64f4 100644 --- a/gtk/gtkglarea.c +++ b/gtk/gtkglarea.c @@ -367,6 +367,8 @@ gtk_gl_area_allocate_buffers (GtkGLArea *area, int width, int height) else glRenderbufferStorageEXT (GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT24, width, height); } + + priv->needs_render = TRUE; } static void @@ -562,7 +564,6 @@ gtk_gl_area_size_allocate (GtkWidget *widget, priv->needs_resize = TRUE; } - priv->needs_render = TRUE; gtk_gl_area_maybe_allocate_buffers (area); } @@ -957,7 +958,7 @@ gtk_gl_area_set_has_alpha (GtkGLArea *area, g_object_notify (G_OBJECT (area), "has-alpha"); - gtk_gl_area_maybe_allocate_buffers (area); + gtk_gl_area_delete_buffers (area); } } -- 2.30.2